Public Event ButtonClick(Button As ComboPack.Button)
Public Event ButtonPress(Button As ComboPack.Button)
Public Event ButtonRelease(Button As ComboPack.Button)
Public Event ButtonGetFocus(Button As ComboPack.Button)
Public Event ButtonLostFocus(Button As ComboPack.Button)
Private m_ButtonColl As Collection
Public LastFocus As Integer
Private Sub Class_Initialize()
LastFocus = 1
Set m_ButtonColl = New Collection
End Sub
Private Sub Class_Terminate()
Set m_ButtonColl = Nothing
End Sub
Public Function AddButton(ButtonName As String, Caption As String, Left As Single, Top As Single, Width As Single, Height As Single, BackColor As OLE_COLOR, Container As Object, Optional Picture As StdPicture)
Dim nclsBtn As ComboPack.Button
Set nclsBtn = New ComboPack.Button
nclsBtn.Enabled = True
Set nclsBtn.Parent = Container
Set nclsBtn.ButtonParentObj = Me
nclsBtn.Name = ButtonName
nclsBtn.Left = Left
nclsBtn.Top = Top
nclsBtn.Width = Width
nclsBtn.Height = Height
Set nclsBtn.Picture = Picture
nclsBtn.BackColor = BackColor
nclsBtn.Caption = Caption
m_ButtonColl.Add nclsBtn
Set AddButton = nclsBtn
Set nclsBtn = Nothing
End Function
Public Sub MouseUp(Button As Integer, X As Single, Y As Single)
Dim cBtn As ComboPack.Button, m_lngLoop As Long
For m_lngLoop = 1 To m_ButtonColl.Count
Set cBtn = m_ButtonColl(m_lngLoop)
cBtn.MouseUp Button, X, Y
Next
End Sub
Public Sub MouseDown(Button As Integer, X As Single, Y As Single)
Dim cBtn As ComboPack.Button, m_lngLoop As Long
For m_lngLoop = 1 To m_ButtonColl.Count
Set cBtn = m_ButtonColl(m_lngLoop)
cBtn.MouseDown Button, X, Y
Next
End Sub
Public Sub MouseMove(Button As Integer, X As Single, Y As Single)
Dim cBtn As ComboPack.Button, m_lngLoop As Long
For m_lngLoop = 1 To m_ButtonColl.Count
Set cBtn = m_ButtonColl(m_lngLoop)
cBtn.MouseMove Button, X, Y
Next
End Sub
Public Sub RaiseBtnEvent(Button As ComboPack.Button, EventType As Integer)
Dim jbutton As ComboPack.Button, Index As Long
Select Case EventType
Case const_lngPress
For Each jbutton In m_ButtonColl
Index = Index + 1
If jbutton.Name = Button.Name Then
LastFocus = Index
End If
If jbutton.HasFocus Then jbutton.HasFocus = False
Next
If Not Button.HasFocus Then Button.HasFocus = True
RaiseEvent ButtonPress(Button)
Case const_lngUnPress
RaiseEvent ButtonRelease(Button)
Case const_lngClick
RaiseEvent ButtonClick(Button)
Case const_lngGotFocus
RaiseEvent ButtonGetFocus(Button)
Case const_lngLostFocus
RaiseEvent ButtonLostFocus(Button)
End Select
End Sub
Public Property Get Buttons(Index As Long) As ComboPack.Button